pub fn dp_rec_mc(amount: u32) -> u32 {
    // 动态规划
    let amount = amount as usize;
    let coins = vec![1, 2, 5, 10, 20, 30, 50, 100];
    let mut dp = vec![0; amount + 1];
    for i in 1..amount + 1 {
        dp[i] = i;
        for &coin in coins.iter() {
            if i >= coin {
                dp[i] = dp[i].min(dp[i - coin] + 1);
            }
        }
    }
    dp[amount] as u32
}
